home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: New Zealand Amiga Users Group
/
New Zealand Amiga Users Group Newsdisk v25 (1989-08)(NZAmigaUG).zip
/
New Zealand Amiga Users Group Newsdisk v25 (1989-08)(NZAmigaUG).adf
/
StrucBrowser
/
sb.src.zoo
/
SBNode.c
< prev
next >
Wrap
C/C++ Source or Header
|
1988-06-22
|
2KB
|
76 lines
/************************************************************************
* *
* SBNode *
* *
* module written by G. Gagnon, Mar 24, 1987 *
* *
*************************************************************************/
include "sb.h"
/* Fix lh_Type & lh_pad length required !!!!!!!! */
extern int level;
void PrNode(string, node) char *string; struct Node *node;
{
static struct StructData structdata[] = {
{ " ln_Succ", "struct Node *", 5, PTRSIZE },
{ " ln_Pred", "struct Node *", 5, PTRSIZE },
{ "-ln_Type", "UBYTE", 3, BYTESIZE },
{ "-ln_Pri", "BYTE", 3, BYTESIZE },
{ " ln_Name", "UBYTE *", 4, PTRSIZE }
};
int sum, choice = -1;
level++;
while (choice) {
sum = SetOptionText(string, structdata, (APTR)node, DATASIZE, 0);
switch (choice = GetChoice(DATASIZE)) {
case 1:
if (node->ln_Succ)
PrNode("Node->ln_Succ", node->ln_Succ);
break;
case 2:
if (node->ln_Pred)
PrNode("Node->ln_Pred", node->ln_Pred);
break;
case 5:
PrString("ln_Name",node->ln_Name);
break;
}
}
level--;
}
void PrList(string, list) char *string; struct List *list;
{
static struct StructData structdata[] = {
{ " lh_Head", "struct Node *", 5, PTRSIZE },
{ " lh_Tail", "struct Node *", 5, PTRSIZE },
{ " lh_TailPred", "struct Node *", 5, PTRSIZE },
{ "-lh_Type", "UBYTE", 3, INTSIZE },
{ "-l_pad", "UBYTE", 3, INTSIZE }
};
int sum, choice = -1;
level++;
while (choice) {
sum = SetOptionText(string, structdata, (APTR)list, DATASIZE, 0);
switch (choice = GetChoice(DATASIZE)) {
case 1:
if (list->lh_Head)
PrNode("List->lh_Head", list->lh_Head);
break;
case 2:
if (list->lh_Tail)
PrNode("List->lh_Tail", list->lh_Tail);
break;
case 3:
if (list->lh_TailPred)
PrNode("List->lh_TailPred", list->lh_TailPred);
break;
}
}
level--;
}